// Array.prototype.splice()方法通过删除现有元素和/或添加新元素来修改数组,并以数组返回原数组中被修改的内容。
// String.prototype.split()方法使用指定的分隔符字符串将一个String对象分割成字符串数组。 

export default (digitals) => {
  let map = ['', 1, 'abc', 'def', 'ghi', 'jkl', 'mno', 'pqrs', 'tuv', 'wxyz'], code = []
  
  digitals.split('').map(item => {
    if (map[item]) {
      code.push(map[item])
    }
  })

  let combine = (arr) => {
    let tmp = []
    for (let i = 0; i < arr[0].length; i++) {
      for (let j = 0; j < arr[1].length; j++) {
        tmp.push(`${arr[0][i]}${arr[1][j]}`)
      }
    }

    arr.splice(0, 2, tmp)

    if (arr.length > 1) {
      combine(arr)
    } else {
      return tmp
    }

    return arr[0]
  }

  return combine(code)
}